Session-typed concurrent contracts
نویسندگان
چکیده
Abstract In sequential languages, dynamic contracts are usually expressed as boolean functions without externally observable effects, written within the language. We propose an analogous notion of concurrent for languages with session-typed message-passing concurrency. Concurrent partial identity processes that monitor bidirectional communication along channels and raise alarm if a contract is violated. in usual way must also satisfy transparency requirement, which guarantees terminating compliant programs observationally equivalent. illustrate several examples. show how to generate from refinement session-type system resulting monitors redundant can statically be seen well-typed.
منابع مشابه
Typed Contracts for Functional Programming
A robust software component fulfills a contract: it expects data satisfying a certain property and promises to return data satisfying another property. The object-oriented community uses the design-by-contract approach extensively. Proposals for language extensions that add contracts to higher-order functional programming have appeared recently. In this paper we propose an embedded domain-speci...
متن کاملTyped Concurrent Objects
Based on a name-passing calculus and on its typing system the paper shows how to build several language constructors towards a strongly-typed objectoriented concurrent programming language. The basic calculus incorporates the notions of asynchronous labelled messages, concurrent objects composed of labelled methods, and a form of abstraction on processes allowing in particular to declare polymo...
متن کاملCorecursion in Session-Typed Processes
Session types are widely accepted as a useful expressive discipline for structuring communications in concurrent and distributed systems. In order to express infinitely unbounded sessions, as required to model the behaviour of realistic distributed systems, session typed languages often introduce general recursion operators at both the program and the type level. Unfortunately, general recursio...
متن کاملFunctions as Session-Typed Processes
We study type-directed encodings of the simply-typed λ-calculus in a session-typed π-calculus. The translations proceed in two steps: standard embeddings of simply-typed λ-calculus in a linear λ-calculus, followed by a standard translation of linear natural deduction to linear sequent calculus. We have shown in prior work how to give a Curry-Howard interpretation of the proofs in the linear seq...
متن کاملSession Typed Parameterised Communication Patterns
Abstract. Communication patterns describe simple and elegant structured interactions in communication based applications. They are used in many parallel computing architectures of parallel algorithms, data exchange protocols and web-services. Communication patterns help programmers to design more efficient, structured, modular and understandable architectures, but they do not provide any automa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of logical and algebraic methods in programming
سال: 2022
ISSN: ['2352-2208', '2352-2216']
DOI: https://doi.org/10.1016/j.jlamp.2021.100731